МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение высшего образования

«ДАГЕСТАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

 

Факультет Информатики и Информационных Технологий

 

 

РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ

 

Программирование на языке высокого уровня

 

Кафедра   Информационных технологий и безопасности компьютерных систем

 

 

 

Образовательная программа бакалавриата

 

09.03.02 Информационные системы и технологии

 

 

Направленность (профиль)программы:

Технологии разработки безопасного программного обеспечения информационных систем

 

 

 

 

 

Форма обучения

Очная

 

Статус дисциплины:

Входит в часть, формируемую участниками образовательных отношений

                                                         

 

 

 

 

 

 

 

 

 

 

Махачкала, 2025


Рабочая программа дисциплины «Программирование на языке высокого уровня» составлена в 2025году в соответствии с требованиями ФГОС ВО - бакалавриат по направлению подготовки 09.03.02 Информационные системы и технологии  от «19» сентября 2017г. №926

 

 

Разработчик(и):  кафедра ИТиБКС, Ахмедова З.Х, доцент, кандидат ф-м.наук

 

 

 

Рабочая программа дисциплины «Программирование на языке высокого уровня»  одобрена:

на заседании кафедры __ИТиБКС_________ от «__22_» __01__2025г., протокол № _6_

 

Зав. кафедрой ___ _____________ Ахмедова З.Х..

 

 

 

 

на заседании Методической комиссии факультета_ИиИТ_от «22»_01_2025г., протокол №_5_.

 

Председатель ________ ________ Мусаева У.А

 

 

 

 

Рабочая программа дисциплины «Программирование на языке высокого уровня»  согласована с учебно-методическим управлением

 «_22__» __01___2025г.

 

Начальник УМУ   _______ _________ Саидов А.Г

                                      (подпись)

 

 


 

Аннотация рабочей программы дисциплины

 

Дисциплина «Программирование на языке высокого уровня» входит в  часть  ОПОП, формируемую участниками образовательных отношений образовательной программы бакалавриата по направлению 09.03.02 Информационные системы и технологии.

 

Дисциплина реализуется на факультете ИиИТ кафедрой _ИТиБКС.

 

Содержание дисциплины охватывает круг вопросов, связанных  программированием на языках высокого уровня. Очевидно, что  применение объектно-ориентированного подхода делает программы понятнее, надежнее и проще в использовании.

 

Дисциплина нацелена на формирование следующих компетенций выпускника:  профессиональных- ПК-5.

Преподавание дисциплины предусматривает проведение следующих видов учебных занятий: лекции,  лабораторные занятия, самостоятельная работа.

 

Рабочая программа дисциплины предусматривает проведение следующих видов контроля успеваемости в форме – устный опрос, контрольная работа, коллоквиум в форме тестирования, курсовая работа, и промежуточный контроль в форме зачета и  экзамена.

 

Объем дисциплины 9 зачетных единиц, в том числе в академических часах по видам учебных занятий .

 

Объем дисциплины в очной форме

Семестр

Учебные занятия

Форма промежуточной аттестации (зачет, дифференцированный  зачет, экзамен

в том числе:

всего

Контактная работа обучающихся с преподавателем

СРС, в том числе экзамен

всего

из них

Лекции

Лабораторные занятия

Практические занятия

 

2

144

54

30

34

 

80

зачет

3

180

48

16

32

 

132

экзамен

 

1. Цели освоения дисциплины.

Целью освоения дисциплины «Программирование на языке высокого уровня»является  - освоение общих принципов алгоритмизации и разработки программ для ЭВМ,  формирование способности осваивать методики использования программных средств для решения практических задач; получение знаний и навыков программирования на языке высокого уровня, самостоятельное приобретение с помощью информационных технологий и использование в практической деятельности новых знаний и умений.

2.Место дисциплины в структуре ОПОП бакалавриата

Дисциплина «Программирование на языке высокого уровня» входит в модуль профильной направленности  по выбору образовательной программы бакалавриата по направлению 09.03.02 Информационные системы и технологии.

Для успешного освоения дисциплины «Программирование на языке высокого уровня» студенты должны владеть знаниями, умениями и компетенциями, полученными ранее и при параллельном изучении дисциплин математического и естественнонаучного циклов: «Физика», «Математика», которые формируют необходимые для изучения программирования способности к обобщению и анализу информации, знания математического анализа и алгоритмов, структурных блоков ЭВМ, способов представления данных в ЭВМ, способность использовать персональный компьютер и системы программирования для разработки программного обеспечения, готовность понимать актуальность совершенствования языков программирования.

Без освоения дисциплины «Программирование на языке высокого уровня» невозможна дальнейшая успешная подготовка студентов по направлению 09.03.02. ИСИТ.

Дисциплина «Программирование на языке высокого уровня» определяет саму возможность изучения практически всех последующих дисциплин, поскольку в процессе изучения используются ЭВМ и языки высокого уровня, как средства и инструменты для исследований и получений результатов, для решения специализированных задач.

Дисциплина «Программирование на языке высокого уровня» является основой следующих дисциплин: «Операционные системы», «Типы и структуры данных», «Объектно-ориентированное программирование», «Технология программирования», «Компьютерная графика» и ряде других дисциплин, связанных с изучением или использованием программного обеспечения ЭВМ и написания курсовых и выпускных квалификационных работ.

 

3. Компетенции обучающегося, формируемые в результате освоения дисциплины (перечень планируемых результатов обучения).

Код и наименование компетенции из ОПОП

Код и наименование индикатора достижения компетенций

Планируемые результаты обучения

Процедура освоения

ПК-5.

 Владение навыками использования различных технологий разработки программного обеспечения

 

 ИД.1.ПК-5.1.

Осуществляет программирование и

отладку прототипов программно-технических комплексов

задач.

Воспроизводит: особенности структурного программирования,  понятия подпрограммы и связи по управлению, способы передачи данных в подпрограммы; организацию оперативной памяти при различных моделях программ;

Понимает:  компиляцию, отладку и тестирование составленных программ;

Применяет:

языки программирования для разработки игр и консолей, навыки разработки и отладки программ на алгоритмическом языке высокого уровня С++ с добавлением ООП

 устный опрос тест

 

4. Объем, структура и содержание дисциплины.

4.1. Объем дисциплины составляет 9 зачетных единиц, 324 академических часа.

4.2. Структура дисциплины.

4.2.1. Структура дисциплины в очной форме

№ п/п

Названия разделов

Семестр

Неделя

Виды учебной работы,

включая самостоятельную

работу студентов

и трудоемкость (в часах)

Самостоятельная работа

Формы текущего контроля успеваемости ( по неделям семестра) Форма промежуточной аттестации

 

 

 

 

Лекции

Практические занятия

Лабораторные занятия

1

2

 

 

 

 

 

 

 

 

II семестр

 

Модуль I. Типы данных.

1

Обзор современных языков программирования

2

1

4

 

4

10

Собеседование

2

Функции и оператор возврата return

2

 

4

 

4

10

Устный опрос

 

Итого за модуль

 

 

8

 

8

20

 

 

Модуль II.  Объявление и прототип функции

3

Предварительное объявление и прототип функции

2

 

4

 

4

10

Устный опрос

4

Размер типов данных. Приоритеты операций. Инкремент и декремент.

2

 

2

 

4

12

ТЕСТ

 

Итого за модуль

 

 

6

 

   8

22

 

 

Модуль III.Операторы.

5

Неявное преобразование типов данных. Явное преобразование типов данных. Перечисления

2

 

4

 

4

10

Собеседование

6

Операторы условного ветвления if/else

2

 

4

 

4

10

ТЕСТ

 

Итого за модуль

 

 

8

 

8

20

 

 

Модуль  IV.Операторы

7

Циклы в С++

2

 

4

 

6

10

Кейс-задача

8

Вложенные циклы

2

 

4

 

4

8

Контрольная работа

 

Итого за модуль

 

 

8

 

10

18

 

 

Всего часов

 

 

30

 

34

80

 

 

III семестр

 

Модуль 1. Массивы

1

Массивы Массивы и классы enum.

3

 

2

 

2

12

устный опрос

2

Многомерные массивы.

3

 

2

 

2

16

Собеседование

 

Итого за модуль:

 

 

4

 

4

28

 

 

Модуль 2  Указатели

 

 

 

 

 

 

 

3

Указатели.

3

 

2

 

2

12

ТЕСТ

4

Указатели на массивы

3

 

2

 

2

16

ТЕСТ

 

Итого за модуль:

 

 

4

 

4

28

 

 

Модуль 3.Ссылки

 

 

 

 

 

 

 

1

Динамическое выделение памяти

3

 

2

 

8

10

Собеседование

2

Ссылки

3

 

2

 

2

12

ТЕСТ

 

Итого за модуль:

 

 

4

 

10

22

 

 

Модуль 4.  Стек и Куча

3

Указатели на указатели

3

 

2

 

10

10

ТЕСТ

4

Стек и Куча

3

 

2

 

4

8

ТЕСТ

 

Итого за модуль:

 

 

4

 

14

18

 

 

Модуль 5. Подготовка к экзамену

 

 

 

 

 

 

 

36

 

 

Всего часов

 

 

16

 

32

132

 

 

4.3.1.  Содержание лекционных занятий по дисциплине

 

Лекционный курс

II семестр

п/п

Наименование темы

Трудоемкость

Содержание

Формируемые компетенции

Результаты освоения

Технологии обучения

1

Обзор современных языков программирования

2

Современные языки программирования и их востребованность на рынке труда. Рейтинг языков программирования. Цель и назначение.

ПК-5.1.

Знать

навыки работы с технической и справочной литературой

Собеседование

2

Функции и оператор возврата return

2

Функции. Возвращаемые значения. Возврат в main().Детальнее о возвращаемых значениях. Повторное использование функций. Вложенные функции. Параметры и аргументы функций.

 

ПК-5.1.

Знать

методы разработки алгоритмов и программ, основы

информатики и программирования, проектирования, конструирования и

тестирования программных продуктов.

ТЕСТ

3

Предварительное объявление и прототип функции

2

Прототипы функций и предварительное объявление. Объявление vs. Определение.

 

ПК-5.1.

Знать

методы разработки алгоритмов и программ, основы

информатики и программирования, проектирования, конструирования и

тестирования программных продуктов.

ТЕСТ

4

Размер типов данных

2

Фиксированный размер целочисленных типов. Недостатки целочисленных типов фиксированного размера. Типы данных с плавающей точкой. Ошибки округления.

 

ПК-5.1.

Знать

методы разработки алгоритмов и программ, основы

информатики и программирования, проектирования, конструирования и

тестирования программных продуктов.

Устный опрос

5

Неявное преобразование типов данных. Явное преобразование типов данных. Перечисления

2

Числовое расширение. Обработка арифметических выражений. C-style cast. Операторstatic_cast.

ПК-5.1.

Знать

навыки работы с технической и справочной литературой, методикой разработки, компилирования и отладки программ на языках высокого уровня в системах программирования

ТЕСТ

6

Операторы условного ветвления if/else

2

Использование нескольких операций в ветвлениях if/else. Использование логических операторов в ветвлениях if/else. Основные использования ветвлений if/else. Нулевые стейтменты

ПК-5.1.

Знать

методы разработки алгоритмов и программ, основы

информатики и программирования, проектирования, конструирования и

тестирования программных продуктов.

Уметь

разрабатывать алгоритмы и программы, применять

основы информатики и программирования к проектированию,

конструированию и тестированию программных продуктов

ТЕСТ

7

Циклы в С++

4

Цикл while. Бесконечные циклы. Итерации. Вложенные циклы for.

 

ПК-5.1.

Знать

методы разработки алгоритмов и программ, основы

информатики и программирования, проектирования, конструирования и

тестирования программных продуктов.

Уметь

разрабатывать алгоритмы и программы, применять

основы информатики и программирования к проектированию,

конструированию и тестированию программных продуктов

Контрольная работа

Лабораторные работы

п/п

Наименование темы

Трудоемкость

Содержание

Формируемые компетенции

Результаты освоения

Технологии обучения

1

Структура программ

                  

2

Стейтменты. Выражения. Функции Библиотеки Пример простой программы. Синтаксис и синтаксические ошибки. ТЕСТ.

ПК-5.1.

Владеть способами разработки алгоритмов и

программ, пригодных для практического применения в области

информационных систем и технологий

Устный опрос

2

Переменные, инициализация и присваивание

2

l-valuesиr-values. Инициализация vs. Присваивание. std::cout. std::cin.

ПК-5.1.

Владеть способами разработки алгоритмов и

программ ,пригодных для практического применения в области

информационных систем и технологий

Устный опрос

3

Ключевые слова и идентификаторы

2

Операторы. Литералы. Локальная область видимости. Базовое форматирование кода..

ПК-5.1.

Владеть

способами разработки алгоритмов и программ,

основами информатики и программирования, применять их к

проектированию, конструированию и тестированию программных

продуктов

ТЕСТ

4

Заголовочные файлы. Директивы препроцессора.

Headerguards.

2

Конфликт имён и stdnamespace. Разработка ваших первых программ.

ПК-5.1.

Владеть способами разработки алгоритмов и программ,

основами информатики и программирования, применять их к

проектированию, конструированию и тестированию программных

продуктов

ТЕСТ

5

Операторы условного ветвления if/else

2

Основные использования ветвлений if/else.

Нулевые стейтменты.

ПК-5.1.

Уметь

разрабатывать алгоритмы и программы, пригодные для

практического применения в области информационных систем и

технологий

ТЕСТ

6

Циклы в С++

6

Вложенные циклы while. Циклdowhile.

Цикл for. Выполнение цикла for.

ПК-5.1.

Уметь

использовать системы программирования и предоставляемые пакеты библиотек; выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные

Письменный опрос

1

Арифметические операторы

2

Унарные и бинарные арифметические операторы. Использование static_cast в операциях деления. Логические операторы: И, ИЛИ, НЕ

ПК-5.1.

Знать

методику разработки, компилирования и отладки программ на языках высокого уровня в системах программирования, средствами систем программирования

Уметь:

использовать системы программирования и предоставляемые пакеты библиотек; выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные

Устный опрос

2

Оператор switch.

Оператор goto

2

Лейблы case. switch иfall-through. switch и оператор break. Объявление переменной и её инициализация внутри case

ТЕСТ

ПК-5.1.

Уметь

использовать системы программирования и предоставляемые пакеты библиотек; выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные

Устный опрос

3

Циклы в С++

4

Вложенные циклы while. Еще примеры цикла For.Ошибка неучтённой единицы. Операторы break и continue.

ТЕСТ. 

ПК-5.1.

Уметь

использовать системы программирования и предоставляемые пакеты библиотек; выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

Владеть

языками процедурного программирования, навыками разработки и отладки программ на

алгоритмическом языке высокого уровня С++.

Кейс-задача

 

III семестр

Лекционный курс

 

п/п

Наименование темы

Трудоемкость

Содержание

Формируемые компетенции

Результаты освоения(знать, уметь, владеть)

Технологии обучения

1

Массивы Массивы и классы enum.

2

Элементы массива.Типы данных и массивы.Индексы массивов.Объявление массивов фиксированного размера

ПК-5.1.

Знать

особенности структурного программирования, принципы модульного проектирования программ

Кейс-задача

2

Многомерные массивы.

2

Инициализация двумерных массивов.Доступ к элементам в двумерном массиве

 

ПК-5.1.

Знать

особенности структурного программирования Уметь

выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

ТЕСТ

3

Указатели.

4

Оператор адреса (&).Оператор разыменования (*).Присваивание значений указателю.Разыменование указателей

ПК-5.1.

Знать

особенности структурного программирования, принципы модульного проектирования программ, понятия подпрограммы и связи по управлению, архитектуры процессора, назначение основных регистров процессора, алгоритм работы процессора и особенности представления и обработки данных целого и вещественного типов; организацию оперативной памяти при различных моделях программ

ТЕСТ

4

Указатели и массивы

2

Сходства между указателями и массивами.Передача массивов в функции.Передача по адресу

ПК-5.1.

Знать

особенности структурного программирования, принципы модульного проектирования программ, понятия подпрограммы и связи по управлению, способы передачи данных в подпрограммы; организацию оперативной памяти при различных моделях программ

ТЕСТ

5

Динамическое выделение памяти

2

Как работает динамическое выделение памяти?Освобождение памяти. Висячие указатели. Оператор new. Нулевые указатели и динамическое выделение памяти

ПК-5.1.

Знать

особенности структурного программирования, особенности архитектуры процессора, назначение основных регистров процессора, алгоритм работы процессора и особенности представления и обработки данных целого и вещественного типов; организацию оперативной памяти при различных моделях программ

ТЕСТ

6

Ссылки

2

Ссылки в качестве псевдонимов.Ссылки в качестве параметров в функциях.Ссылки r-values

 

ПК-5.1.

Знать

особенности структурного программирования, принципы модульного проектирования программ

Уметь

выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

ТЕСТ

7

Указатели на указатели

2

Массивы указателей. Двумерные динамически выделенные массивы. Указатель на указатель на указатель на указатель и т.д.

ПК-5.1.

Знать

способы передачи данных в подпрограммы; особенности архитектуры процессора, назначение основных регистров процессора, алгоритм работы процессора и особенности представления и обработки данных целого и вещественного типов; организацию оперативной памяти при различных моделях программ

Уметь

выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

ТЕСТ

8

Стек и Куча

2

Куча. Стек вызовов. Стек как структура данных. Сегмент стека вызовов

ПК-5.1.

Знать

алгоритм работы процессора и особенности представления и обработки данных целого и вещественного типов; организацию оперативной памяти при различных моделях программ

Уметь

выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

ТЕСТ

Лабораторные работы

п/п

Наименование темы

Трудоемкость

Содержание

Формируемые компетенции

Результаты освоения

Технологии обучения

1

Массивы.

2

Передача массивов в функции. Индексирование массива вне диапазона. Определение длины фиксированного массива

ПК-5.1.

Уметь

выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

Владеть

языками процедурного программирования, навыками разработки и отладки программ на алгоритмическом языке высокого уровня С++

Устный опрос

2

Многомерные массивы

2

Многомерные массивы больше двух измерений

ПК-5.1.

Уметь

выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

Владеть

языками процедурного программирования, навыками разработки и отладки программ на алгоритмическом языке высокого уровня С++.

Устный опрос

3

Указатели

4

Нулевые указатели.Разыменование нулевых указателей.Макрос NULL

ПК-5.1.

Владеть

способами разработки алгоритмов и программ,

основами информатики и программирования, применять их к

проектированию, конструированию и тестированию программных

продуктов

ТЕСТ

4

Указатели и массивы

4

Константные указатели. Указатели на константные переменные

ПК-5.1.

Владеть

языками процедурного программирования, навыками разработки и отладки программ на алгоритмическом языке высокого уровня С++.; средствами систем программирования

Устный опрос

5

Динамическое выделение памяти

2

 

ПК-5.1.

Уметь

выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

Владеть

языками процедурного программирования, навыками разработки и отладки программ на алгоритмическом языке высокого уровня С++

Контрольная работа

6

Ссылки

4

Краткий обзор l-value и r-value

Ссылки vs. Указатели

ПК-5.1.

Уметь

выполнять компиляцию, отладку и тестирование языками процедурного программирования, навыками разработки и отладки программ на алгоритмическом языке высокого уровня С++

Устный опрос

1

Массивы.Массивы и перечисления.Операторsizeof и массивы

2

Пример программы с использованием массива.Чуть-чуть о динамических массивах.

 

ПК-5.1.

Владеть

языками процедурного программирования, навыками разработки и отладки программ на алгоритмическом языке высокого уровня С++

ТЕСТ

2

Многомерные массивы.

2

Пример двумерного массива

ПК-5.1.

Уметь

выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

Владеть

языками процедурного программирования, навыками разработки и отладки программ на алгоритмическом языке высокого уровня С++;

ТЕСТ

3

Строки C-style.

2

Строки C-style и std::cin. Управление строками C-style. Стоит ли использовать строки C-style?

 

ПК-5.1.

Уметь:

выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

Владеть

языками процедурного программирования, навыками разработки и отладки программ на алгоритмическом языке высокого уровня С++

ТЕСТ

4

Указатели

2

В чём польза указателей?Разыменование некорректных указателей. Размер указателей

 

ПК-5.1.

Уметь

выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

Владеть

языками процедурного программирования, навыками разработки и отладки программ на алгоритмическом языке высокого уровня С++; навыками работы с технической и справочной литературой, методикой разработки, компилирования и отладки программ на языках высокого уровня в системах программирования, средствами систем программирования

ТЕСТ

5

Указатели и массивы

2

Различия между указателями и массивами. Массивы в структурах и классах

ПК-5.1.

Уметь

выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

Владеть

языками процедурного программирования, навыками разработки и отладки программ на алгоритмическом языке высокого уровня С++; навыками работы с технической и справочной литературой, методикой разработки, компилирования и отладки программ на языках высокого уровня в системах программирования, средствами систем программирования

Контрольная работа

6

Динамическое выделение памяти

4

Утечка памяти

 

ПК-5.1.

Уметь

выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

Владеть

языками процедурного программирования, навыками разработки и отладки программ на алгоритмическом языке высокого уровня С++; навыками работы с технической и справочной литературой, методикой разработки, компилирования и отладки программ на языках высокого уровня в системах программирования, средствами систем программирования

ТЕСТ

7

Ссылки. Ссылки и const.

2

Ссылки как более лёгкий способ доступа к данным

Ссылки vs. Указатели

ПК-5.1.

Уметь

выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

Владеть

языками процедурного программирования, навыками разработки и отладки программ на алгоритмическом языке высокого уровня С++; навыками работы с технической и справочной литературой, методикой разработки, компилирования и отладки программ на языках высокого уровня в системах программирования, средствами систем программирования

Контрольная работа

8

Стек и Куча

2

Стек вызовов на практике

 

ПК-5.1.

Уметь

выполнять компиляцию, отладку и тестирование составленных программ; разрабатывать основные программные документы

Владеть

языками процедурного программирования, навыками разработки и отладки программ на алгоритмическом языке высокого уровня С++; навыками работы с технической и справочной литературой, методикой разработки, компилирования и отладки программ на языках высокого уровня в системах программирования, средствами систем программирования

Устный опрос

 

4.3.2. Содержание лабораторно-практических занятий по дисциплине.

II-III  семестр

 

1.1  Набрать программу, которая выводит на экран ваши имя и фамилию.

1.2.            Написать программу, которая вычисляет площадь поверхности и объем цилиндра (по формулам S= 2nr(r+ h),V = nr2h.Для форматного ввода-вывода используйте функции scanfQ и printfQ, в ответе сохраните 5 цифр после десятичной точки.

1.3.            Написать программу, которая вычисляет объем параллелепипеда.

Далее приводится рекомендуемый вид экрана

Вычисление объема параллелепипеда

Введите исходные данные:

Длина(см)    ->   9.00

Ширина(см) ->   7.50

Высота(см) ->   5.00

Объем: 337.50 куб.см.

1.5. Напишите программу, которая вычисляет корни квадратного уравнения ax2 + bx+ c= 0 (в предположении, что a= 0) в зависимости от знака дискриминанта D= b24ac: при D<0 выдается сообщение, что корней нет;
при
D=D>0 вычисляются соответственно один или два корня и выдаются на экран.

1.6. Напишите программу, вычисляющую сумму S(x)=   с заданной точностью eps. Результат для некоторого конкретного значения xсравнить со значением ex. Для вычисления exиспользуем стандартную функцию ехриз библиотеки math.h.

1.7*. Разработайте алгоритм и составьте программу, которая бы всякое на­туральное число N, не превосходящее 2000, представляла бы римскими циф­рами (в соответствии с обозначениями (1) — см. подраздел 2.1).

1.8*. Напишите программу, которая складывала бы двоичные, восьмеричные и шестнадцатеричные числа.

1.9*. Напишите программу перевода натурального десятичного числа в дво­ичную, восьмеричную и шестнадцатеричную форму .

1.10*. Напишите программу, которая бы переводила число из двоичной, вось­меричной и шестнадцатеричной формы в десятичную.

1.11.Напишите программу, реализующую формулу прямоугольников при­ближенного вычисления определенного интеграла

* помечены задания повышенной сложности

Темы 1-5.

1.      Задача с тремя массивами

2.      Обработка матриц

3.      Работа с двоичными файлами

4.      Работа со строками

5.      Указатели на функции

  1. Задача с тремя массивами

В каждом варианте необходимо обработать три массива разного размера. Необходимо написать функцию, которая выполняет требуемые действия, применить её ко всем трём массивам и сравнить полученные результаты.

Ввод осуществляется из файлов с использованием аргументов функции main. Вывод – на экран или в файл с обязательным выводом исходных данных.

Пример программы см. в лекции 3.

Задача с тремя массивами

В каждом варианте необходимо обработать три массива разного размера. Необходимо написать функцию, которая выполняет требуемые действия, применить её ко всем трём массивам и сравнить полученные результаты.

Ввод осуществляется из файлов с использованием аргументов функции main. Вывод – на экран или в файл с обязательным выводом исходных данных.

Пример программы см. в лекции 3.

  1. Определить в каком массиве больше среднее арифметическое элементов, меньших заданного числа. Если в двух или трёх массивах значения среднего арифметического совпадают, вывести соответствующее сообщение.
  2. Определить в каком массиве меньше среднее арифметическое элементов, больших заданного числа. Если в двух или трёх массивах значения среднего арифметического совпадают, вывести соответствующее сообщение.
  3. Определить в каком массиве больше количество элементов, меньших заданного числа. Если в двух или трёх массивах количества искомых элементов совпадают, вывести соответствующее сообщение.
  4. Определить в каком массиве меньше количество элементов, больших заданного числа. Если в двух или трёх массивах количества искомых элементов совпадают, вывести соответствующее сообщение.
  5. Определить в каком массиве больше минимум элементов, больших заданного числа. Если в двух или трёх массивах минимумы совпадают, вывести соответствующее сообщение.
  6. Определить в каком массиве меньше максимум элементов, меньших заданного числа. Если в двух или трёх массивах максимумы совпадают, вывести соответствующее сообщение.
  7. Определить в каком массиве больше сумма элементов, попадающих в заданный диапазон. Если в двух или трёх массивах суммы совпадают, вывести соответствующее сообщение.
  8. Определить в каком массиве меньше сумма элементов, не попадающих в заданный диапазон. Если в двух или трёх массивах суммы совпадают, вывести соответствующее сообщение.
  9. Определить в каком массиве больше произведение элементов, не попадающих в заданный диапазон. Если в двух или трёх массивах произведения совпадают, вывести соответствующее сообщение.
  10. Определить в каком массиве меньше произведение элементов, попадающих в заданный диапазон. Если в двух или трёх массивах произведения совпадают, вывести соответствующее сообщение.
  11. Определить в каком массиве меньше среднее арифметическое элементов, меньших заданного числа. Если в двух или трёх массивах значения среднего арифметического совпадают, вывести соответствующее сообщение.
  12. Определить в каком массиве больше среднее арифметическое элементов, больших заданного числа. Если в двух или трёх массивах значения среднего арифметического совпадают, вывести соответствующее сообщение.
  13. Определить в каком массиве меньше количество элементов, меньших заданного числа. Если в двух или трёх массивах количества искомых элементов совпадают, вывести соответствующее сообщение.
  14. Определить в каком массиве больше количество элементов, больших заданного числа. Если в двух или трёх массивах количества искомых элементов совпадают, вывести соответствующее сообщение.
  15. Определить в каком массиве меньше минимум элементов, больших заданного числа. Если в двух или трёх массивах минимумы совпадают, вывести соответствующее сообщение.
  16. Определить в каком массиве больше максимум элементов, меньших заданного числа. Если в двух или трёх массивах максимумы совпадают, вывести соответствующее сообщение.
  17. Определить в каком массиве меньше сумма элементов, попадающих в заданный диапазон. Если в двух или трёх массивах суммы совпадают, вывести соответствующее сообщение.
  18. Определить в каком массиве больше сумма элементов, не попадающих в заданный диапазон. Если в двух или трёх массивах суммы совпадают, вывести соответствующее сообщение.
  19. Определить в каком массиве меньше произведение элементов, не попадающих в заданный диапазон. Если в двух или трёх массивах произведения совпадают, вывести соответствующее сообщение.
  20. Определить в каком массиве больше произведение элементов, попадающих в заданный диапазон. Если в двух или трёх массивах произведения совпадают, вывести соответствующее сообщение.
  21. Определить в каком массиве больше среднее арифметическое элементов, меньших заданного числа. Если в двух или трёх массивах значения среднего арифметического совпадают, вывести соответствующее сообщение.
  22. Определить в каком массиве меньше среднее арифметическое элементов, больших заданного числа. Если в двух или трёх массивах значения среднего арифметического совпадают, вывести соответствующее сообщение.
  23. Определить в каком массиве больше количество элементов, меньших заданного числа. Если в двух или трёх массивах количества искомых элементов совпадают, вывести соответствующее сообщение.
  24. Определить в каком массиве меньше количество элементов, больших заданного числа. Если в двух или трёх массивах количества искомых элементов совпадают, вывести соответствующее сообщение.
  25. Определить в каком массиве больше минимум элементов, больших заданного числа. Если в двух или трёх массивах минимумы совпадают, вывести соответствующее сообщение.

2. Обработка матриц

При выполнении этого задания необходимо написать две функции (кроме функции ввода матрицы). Одна из этих функций должна обрабатывать матрицу целиком. Другая функция должна обрабатывать одномерный массив. В качестве этого одномерного массива передаётся одна строка матрицы.

Ввод осуществляется из файлов с использованием аргументов функции main. Вывод – на экран или в файл с обязательным выводом исходных данных.

Пример программы см. в лекции 3.

Обработка матриц

При выполнении этого задания необходимо написать две функции (кроме функции ввода матрицы). Одна из этих функций должна обрабатывать матрицу целиком. Другая функция должна обрабатывать одномерный массив. В качестве этого одномерного массива передаётся одна строка матрицы.

Ввод осуществляется из файлов с использованием аргументов функции main. Вывод – на экран или в файл с обязательным выводом исходных данных.

Пример программы см. в лекции 3.

  1. Даны две матрицы разного размера. Для той из матриц, в которой больше максимальный элемент, найти максимальный элемент в каждой строке.
  2. Даны две матрицы разного размера. Для той из матриц, в которой больше максимальный элемент, проверить наличие положительных элементов в каждой строке.
  3. Даны две матрицы разного размера. Для той из матриц, в которой больше максимальный элемент, найти количество положительных элементов в каждой строке.
  4. Даны две матрицы разного размера. Для той из матриц, в которой больше максимальный элемент, найти сумму положительных элементов в каждой строке.
  5. Даны две матрицы разного размера. Для той из матриц, в которой больше максимальный элемент, найти среднее арифметическое ненулевых элементов в каждой строке.
  6. Даны две матрицы разного размера. Для той из матриц, в которой есть элементы, равные 0, найти минимальный элемент в каждой строке.
  7. Даны две матрицы разного размера. Для той из матриц, в которой есть элементы, равные 0, проверить наличие отрицательных элементов в каждой строке.
  8. Даны две матрицы разного размера. Для той из матриц, в которой есть элементы, равные 0, найти количество отрицательных элементов в каждой строке.
  9. Даны две матрицы разного размера. Для той из матриц, в которой есть элементы, равные 0, найти произведение ненулевых элементов в каждой строке.
  10. Даны две матрицы разного размера. Для той из матриц, в которой есть элементы, равные 0, найти среднее арифметическое положительных элементов в каждой строке.
  11. Даны две матрицы разного размера. Для той из матриц, в которой меньше количество нулевых элементов, найти минимальный элемент в каждой строке.
  12. Даны две матрицы разного размера. Для той из матриц, в которой меньше количество нулевых элементов, проверить наличие отрицательных элементов в каждой строке.
  13. Даны две матрицы разного размера. Для той из матриц, в которой меньше количество нулевых элементов, найти количество отрицательных элементов в каждой строке.
  14. Даны две матрицы разного размера. Для той из матриц, в которой меньше количество нулевых элементов, найти произведение ненулевых элементов в каждой строке.
  15. Даны две матрицы разного размера. Для той из матриц, в которой меньше количество нулевых элементов, найти среднее арифметическое положительных элементов в каждой строке.
  16. Даны две матрицы разного размера. Для той из матриц, в которой меньше среднее арифметическое положительных элементов, найти минимальный элемент в каждой строке.
  17. Даны две матрицы разного размера. Для той из матриц, в которой меньше среднее арифметическое положительных элементов, проверить наличие отрицательных элементов в каждой строке.
  18. Даны две матрицы разного размера. Для той из матриц, в которой меньше среднее арифметическое положительных элементов, найти количество отрицательных элементов в каждой строке.
  19. Даны две матрицы разного размера. Для той из матриц, в которой меньше среднее арифметическое положительных элементов, найти произведение ненулевых элементов в каждой строке.
  20. Даны две матрицы разного размера. Для той из матриц, в которой меньше среднее арифметическое положительных элементов, найти среднее арифметическое положительных элементов в каждой строке.
  21. Даны две матрицы разного размера. Для той из матриц, в которой больше произведение ненулевых элементов, найти максимальный элемент в каждой строке.
  22. Даны две матрицы разного размера. Для той из матриц, в которой больше произведение ненулевых элементов, проверить наличие положительных элементов в каждой строке.
  23. Даны две матрицы разного размера. Для той из матриц, в которой больше произведение ненулевых элементов, найти количество положительных элементов в каждой строке.
  24. Даны две матрицы разного размера. Для той из матриц, в которой больше произведение ненулевых элементов, найти сумму положительных элементов в каждой строке.
  25. Даны две матрицы разного размера. Для той из матриц, в которой больше произведение ненулевых элементов, найти среднее арифметическое ненулевых элементов в каждой строке.

3.Работа с двоичными файлами

В двоичном файле поменять местами две записи с заданными номерами. Обязательно проверить, что записи с такими номерами существуют в файле. Следует читать не весь файл, а только нужные записи – в двоичном файле возможен прямой доступ (никаких циклов!). При выполнении этого задания необходимо преобразовать текстовый файл в двоичный, а также вывести на экран содержимое двоичного файла до обработки и после обработки. Не забывайте закрывать файлы.

Примеры см. в лекции 4.

  1. Каждая запись представляет собой 2 символа.
  2. Каждая запись представляет собой 2 числа типа shortint.
  3. Каждая запись представляет собой 2 числа типа longint.
  4. Каждая запись представляет собой 2 числа типа float.
  5. Каждая запись представляет собой 2 числа типа double.
  6. Каждая запись представляет собой 3 символа.
  7. Каждая запись представляет собой 3 числа типа shortint.
  8. Каждая запись представляет собой 3 числа типа longint.
  9. Каждая запись представляет собой 3 числа типа float.
  10. Каждая запись представляет собой 3 числа типа double.
  11. Каждая запись представляет собой 4 символа.
  12. Каждая запись представляет собой 4 числа типа shortint.
  13. Каждая запись представляет собой 4 числа типа longint.
  14. Каждая запись представляет собой 4 числа типа float.
  15. Каждая запись представляет собой 4 числа типа double.
  16. Каждая запись представляет собой 5 символов.
  17. Каждая запись представляет собой 5 чисел типа shortint.
  18. Каждая запись представляет собой 5 чисел типа longint.
  19. Каждая запись представляет собой 5 чисел типа float.
  20. Каждая запись представляет собой 5 чисел типа double.
  21. Каждая запись представляет собой 6 символов.
  22. Каждая запись представляет собой 6 чисел типа shortint.
  23. Каждая запись представляет собой 6 чисел типа longint.
  24. Каждая запись представляет собой 6 чисел типа float.
  25. Каждая запись представляет собой 6 чисел типа double.

6.      Работа со строками

Для решения задачи вам нужно ввести строки с помощью функций gets или fgets, разбить строку на слова и выбрать нужные (функция scanf с форматом %s вводит строку до пробела, но в данной задаче вам не нужно так делать!). Стандартные функции работы со строками НЕ использовать! Обратите внимание, что во всех случаях слова могут разделяться любым (!) количеством символов, не относящихся к слову (будем считать, что к слову относятся большие и маленькие латинские буквы и цифры). Желательно всю обработку выполнить за один проход строки, хотя это возможно не во всех вариантах. Обязательно проверить работу программы на пустой строке и на строке, состоящей только из символов, не относящихся к слову.

Примеры см. в лекции 5.

  1. Сформировать строку из тех же слов исходной строки в обратном порядке.
  2. Сформировать строку заменой в исходной строке заданной подстроки на другую заданную подстроку (возможно разной длины).
  3. Сформировать строку, добавляя к каждой заданной подстроке другую заданную подстроку.
  4. Реверсировать буквы в каждом слове.
  5. Сформировать строку из слов исходной строки в алфавитном порядке.
  6. Сформировать строку из слов исходной строки в порядке увеличения количества символов в слове.
  7. Сформировать строку из слов исходной строки в порядке уменьшения количества символов в слове.
  8. Сформировать строку из слов исходной строки, содержащих повторяющиеся буквы.
  9. Сформировать строку из слов исходной строки, в которых нет повторяющихся букв.
  10. Сформировать строку, удалив из каждого слова исходной строки повторяющиеся в нем буквы.
  11. Сформировать строку, «склеив» первое слово с последним, второе с предпоследним и т.д.
  12. Сформировать строку, «склеив» первое слово со слово с номером (n + 1) / 2 + 1, второе – со словом с номером (n + 1) / 2 + 2 и т.д. (n – количество слов в строке).
  13. Сформировать строку из тех же слов исходной строки в обратном порядке.
  14. Сформировать строку заменой в исходной строке заданной подстроки на другую заданную подстроку (возможно разной длины).
  15. Сформировать строку, добавляя к каждой заданной подстроке другую заданную подстроку.
  16. Реверсировать буквы в каждом слове.
  17. Сформировать строку из слов исходной строки в алфавитном порядке.
  18. Сформировать строку из слов исходной строки в порядке увеличения количества символов в слове.
  19. Сформировать строку из слов исходной строки в порядке уменьшения количества символов в слове.
  20. Сформировать строку из слов исходной строки, содержащих повторяющиеся буквы.
  21. Сформировать строку из слов исходной строки, в которых нет повторяющихся букв.
  22. Сформировать строку, удалив из каждого слова исходной строки повторяющиеся в нем буквы.
  23. Сформировать строку, «склеив» первое слово с последним, второе с предпоследним и т.д.
  24. Сформировать строку, «склеив» первое слово со слово с номером (n + 1) / 2 + 1, второе – со словом с номером (n + 1) / 2 + 2 и т.д. (n – количество слов в строке).
  25. Сформировать строку из тех же слов исходной строки в обратном порядке.
  26. Сформировать строку заменой в исходной строке заданной подстроки на другую заданную подстроку (возможно разной длины).
  27. Сформировать строку, добавляя к каждой заданной подстроке другую заданную подстроку.
  28. Реверсировать буквы в каждом слове.
  29. Сформировать строку из слов исходной строки в алфавитном порядке.
  30. Сформировать строку из слов исходной строки в порядке увеличения количества символов в слове.

5. Указатели на функции

Переделать задачу с тремя массивами так, чтобы вспомогательная функция (не main) работала не с элементом массива Xi, а с выражением f(Xi), где f – некоторая функция (одного аргумента!), указатель на которую передаётся через параметры. В качестве фактического параметра передавать указатель на стандартную библиотечную функцию и указатель на пользовательскую функцию. Ввод/вывод производить из файла/в файл (пример см. в лекции 4).

Про указатели на функции см. в лекции 5.

Ш семестр

Тема: «Функции языка С++».

1. Имеется следующий образец структуры:

structbox

{

char maker[40];

float height;

float width;

floatlength;

floatvolume;

};

Создать функцию, в которую структура box передаётся по значению, а функция отображает значение каждого элемента структуры. Разработать программу, которая использует эту функцию. Элементы структуры создавать интерактивно.

2. Создать функцию Poisk _ w _ array (), которая принимает в качестве аргументов указатель на массив элементов данных типа int , искомое число х типа int и размер этого массива. Функция возвращает количество повторов числа х в массиве. Разработать программу, которая использует эту функцию. Элементы массива и число х создавать интерактивно (массив – динамический).

3. Создать функцию Preobr _ array (), которая принимает в качестве аргументов указатель на массив элементов данных типа double и размер этого массива. Функция увеличивает в два раза каждый элемент массива, а затем отображает содержимое массива. Разработать программу, которая использует эту функцию. Число элементов и сами элементы массива создавать интерактивно (массив – динамический).

4. Создать функцию Reverse _ array (), которая принимает в качестве аргументов указатель на массив элементов данных типа double и размер этого массива. Функция инвертирует порядок следования значений, хранимых в массиве, а затем отображает содержимое массива. Разработать программу, которая использует эту функцию. Число элементов и сами элементы массива создавать интерактивно (массив – динамический).

5. Создать функцию Ukazn _ cifra , которая принимает в качестве аргументов длинное натуральное число и искомую цифру, а возвращает количество повторов указанной цифры в записи числа. Разработать программу, которая использует эту функцию.

6. Создать функцию Reverse _ word , которая принимает в качестве аргумента указатель на слово (символьный массив), а возвращает указатель на новую строку, которая получается из исходной строки путём перестановки символов в обратном порядке. Разработать программу, которая использует эту функцию для проверки: является ли исходная строка «перевёртышем».

7. Создать функцию Preobr _ str (), которая принимает в качестве аргумента указатель на строку символов. Функция заменяет в исходной строке все точки и дефисы символом двоеточие и отображает полученную строку. Разработать программу, которая использует эту функцию (строку символов создавать динамически).

8. Создать функцию Preobr _ str (), которая принимает в качестве аргумента указатель на строку символов. Функция заменяет в исходной строке сочетания символов “ rr ” на “ xx ” и отображает полученную строку. Разработать программу, которая использует эту функцию (строку символов создавать динамически).

9. Имеется следующий образец структуры:

structbox

{

char maker[40];

float height;

float width;

floatlength;

floatvolume;

};

Создать функцию, в которую передаётся адрес структуры box , а функция присваивает элементу структуры volume (объём) произведение остальных трёх измерений и отображает элементы структуры. Разработать программу, которая использует эту функцию. Элементы структуры создавать интерактивно.

10. Создать функцию Summa _ cifr , которая принимает в качестве аргумент a длинное натуральное число, а возвращает сумму цифр числа. Разработать программу, которая использует эту функцию.

11. Создать функцию Proizw _ cifr , которая принимает в качестве аргумент a длинное натуральное число, а возвращает произведение цифр числа. Разработать программу, которая использует эту функцию.

12. Создать функцию Right _ cifri , которая принимает в качестве аргументов длинное натуральное число и заданное количество цифр n , а возвращает число, полученное из «правых» n цифр исходного числа. Разработать программу, которая использует эту функцию.

13. Создать функцию Leftt _ cifri , которая принимает в качестве аргументов длинное натуральное число и заданное количество цифр n , а возвращает число, полученное из «левых» n цифр исходного числа. Разработать программу, которая использует эту функцию.

14. Создать функцию Sum _ deliteli , которая принимает в качестве аргумента натуральное число, а возвращает сумму делителей исходного числа. Разработать программу, которая использует эту функцию.

15. Создать функцию Right _ simb (), которая принимает в качестве аргументов указатель на строку символов и натуральное число n . Функция создаёт новую строку из n правых символов исходной строки и отображает полученную строку. Разработать программу, которая использует эту функцию (строку символов создавать динамически).

16. Создать функцию Left _ simb (), которая принимает в качестве аргументов указатель на строку символов и натуральное число n . Функция создаёт новую строку из n левых символов исходной строки и отображает полученную строку. Разработать программу, которая использует эту функцию (строку символов создавать динамически).

 

Тема: «Классы. Заимствование функциональности одного класса другим. Решение задач планиметрии».

1. Дано множество точек на плоскости. Указать в нём две такие точки, чтобы отрезок, концами которого они являются, был параллелен оси Ox.

2. Дано множество точек на плоскости. Указать в нём две такие точки, чтобы отрезок, концами которого они являются, был параллелен оси Oу.

3. Дано множество точек на плоскости. Указать в нём две такие точки, чтобы прямая, проходящая через них, делила 1 и 3 координатные углы пополам.

4. Дано множество точек на плоскости. Указать в нём две такие точки, чтобы прямая, проходящая через них, делила 2 и 4 координатные углы пополам.

5. Дано множество точек на плоскости. Выяснить, существует ли такая точка в данном множестве, что все остальные точки этого множества лежат на окружности с центром в этой точке.

6. Дано множество точек на плоскости. Сколько точек данного множества попадает в круг с центром в начале координат и радиусом 5 ед.?

7. Дано множество точек на плоскости. Сколько точек этого множества окажутся вне круга, ограниченного окружностью с центром в последней точке этого множества и радиусом, равным 2?

8. Дано множество точек на плоскости. Найдите такую окружность с центром в начале координат, накоторой лежит наибольшее количество точек данного множества.

9. Дано множество точек на плоскости. Сколько отрезков можно построить на основе этого множества точек, чтобы они были параллельны оси Ox?

10. Дано множество точек на плоскости. Сколько отрезков можно построить на основе этого множества точек, чтобы они были параллельны оси Oу?

11. Дано множество точек на плоскости. Найдите пару точек – центр и точка на окружности – так, чтобы круг, ограниченный этой окружностью, содержал все остальные точки данного множества.

12. Дано множество точек на плоскости. Указать в нём две такие точки, чтобы все остальные точки находились по одну сторону от прямой, проходящей через две указанные точки.

13. Дано множество точек на плоскости. Выяснить, лежат ли эти точки на одной прямой.

14. Дано множество точек на плоскости. Найти две точки так, чтобы у первой Y-вая координата была самой маленькой, у второй Y-вая координата была самой большой и вычислить расстояние между этими точками.

15. Дано множество точек на плоскости. Можно ли в данном множестве найти пару точек X и Y так, чтобы вне круга, для которого отрезок XY является диаметром, находились все остальные точки данного множества?

16. Дано множество точек на плоскости и прямая d своим уравнением

X – 2 Y + 5 = 0. По разные стороны от этой прямой найти 2 самые близкие точки из данного множества.

17. Дано множество точек на плоскости. Выбрать, если возможно, в этом множестве 2 точки так, чтобы из оставшихся точек ни одна больше не принадлежала прямой, проходящей через выбранные 2 точки.

 

5.Образовательные технологии

В учебном процессе помимо традиционных форм проведения занятий используются лекции – визуализации, лекции – диалоги. Лабораторные занятия проводятся в компьютерном классе с использованием Интернет среды. При проведение практических занятий используются деловые игры с разбором конкретных ситуаций.

·      Лекционные занятия

·      Традиционные технологии

·      Иллюстрация работы алгоритмов с использованием видео и элементов анимации в презентациях.

·      Демонстрация элементов современных методов разработки программ с использованием видеопроектора

· Практические занятия

·      Традиционные технологии

·      Коллективное выполнение заданий с использованием видеопроектора, среды разработчика и системы контроля версий исходного кода SVN или Git

· Лабораторные занятия

·      Традиционные технологии

·      Автоматическое компьютерное тестирование программ, разрабатываемых студентами

 

6. Учебно-методическое обеспечение самостоятельной работы студентов.

 

Форма контроля и критерий оценок

В соответствии с учебным планом предусмотрен экзамен в  третьем семестре.

Формы контроля: текущий контроль, промежуточный контроль по модулю, итоговый контроль по дисциплине предполагают следующее распределение баллов.

Текущий контроль

·         Выполнение 1 домашней работы 10 баллов

·         Активность в системе Moodle 10 баллов

 

Промежуточный контроль

 

Примерное распределение времени самостоятельной работы студентов

Вид самостоятельной работы

Примерная трудоёмкость, а.ч.

Примерная трудоёмкость, а.ч.

Формируемые компетенции

Очная

 

 

Текущая СРС

 

 

работа с лекционным материалом, с учебной литературой

104

 

ПК-5

опережающая самостоятельная работа (изучение нового материала до его изложения на занятиях)

10

 

ПК-5

самостоятельное изучение разделов дисциплины

10

 

ПК-5

выполнение домашних заданий, домашних контрольных работ

10

 

ПК-5

подготовка к лабораторным работам, к практическим и семинарским занятиям

4

 

ПК-5

подготовка к контрольным работам, коллоквиумам, зачётам

2

 

ПК-5

подготовка к экзамену (экзаменам)

2

 

ПК-5

Творческая проблемно-ориентированная СРС

 

 

ПК-5

поиск, изучение и презентация информации по заданной проблеме, анализ научных публикаций по заданной теме

6

 

ПК-5

Курсовая работа, участие в конференциях, семинарах, олимпиадах

26

 

ПК-5

анализ данных по заданной теме, написание программ, составление  моделей на основе исходных  данных

2

 

ПК-5

Подготовка к экзамену

36

 

ПК-5

Итого СРС:

212

 

 

 

7. Фонд оценочных средств для проведения текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины.

 

7.1. Типовые контрольные задания

 

Темы курсовых работ.

 

1.      Написать программу изображающую в окне с координатами (2,2, maxx-2, maxy-2) фон белого цвета, четыре залитых квадрата красного, синего, голубого и желтого цветов. Квадраты являются объектом – потомком закрашенного прямоугольника и отрисовывается путем вычерчивания четырех четырехугольников одинакового размера. Координаты правого верхнего угла первого квадрата равны координатам левого нижнего угла второго квадрата, а координаты правого нижнего угла второго четырехугольника равны координатам левого верхнего угла третьего четырехугольника. Координаты левого нижнего угла третьего квадрата, равны: 24,24. Координаты правого верхнего угла квадрата равны: 140,140. При нажатии клавиши “¬” объект сдвигается влево на 10 пикселей, при нажатии “®  на 10 вправо. При нажатии “C” цвета квадратов циклически сдвигаются, то есть красный становится желтым, синий красным, голубой, синим, желтый голубым. При достижении объектом границ окна перемещение возможно только в противоположную сторону. При нажатии “ESC” программа завершает работу.

 

Далее прилагается список игр на С++ на выбор студента.

КП 

3D моделирование лунохода

Visual C++ 6.0

00+

КП 

Вариация игры "Змейка" из серии игр "Пастух собирает овец", где голова змеи - это пастух, а тело змеи - это овцы

Visual C++ .NET 2015

1200  

Программа 

Вариация игры "Пакмен" с телепортацией, щитом и лазером

C++ QT 5

2500  

Программа 

Движок для разработки и обучения разработке компьютерных игр для Windows на JavaScript

C++ QT 5

2000  

КП 

Домино на двух игроков с использованием Windows API и SFMLновая

Visual C++ .NET 2019

800  

ЛР 

Игра "16 кнопок"

Visual C++ .NET 2017

670+

Программа 

Игра "9 Лунок"

Borland C++ 5.0 (под DOS)

1200  

КП 

Игра "Арканоид" 3D

Visual C++ .NET 2010

800+

КП 

Игра "Арканоид" Arcanoid

C++ QT 4

890  

Программа 

Игра "Волчий остров" на C++ SFML

Visual C++ .NET 2019

800  

КП 

Игра "Го" на языке С++

Visual C++ .NET 2012

1500  

КП 

Игра "Гонки"

Borland C++ 5.0 (под DOS)

300+

КП 

Игра "Грибник" (версия 2)

Borland C++ 5.0 (под Windows)

800  

Программа 

Игра "Змейка" (Питон)

Borland C++ 3.1 (под DOS)

600+

КП 

Игра "Змейка" в 3D на OpenGLновая

Visual C++ .NET 2012

800  

ЛР 

Игра "Имитатор покера" (упрощенный покер)

Visual C++ 6.0

160  

ЛР 

Игра "Кости"

C++ Builder 6.0

300  

Программа 

Игра "Крестики-нолики" (сетевая)

Visual C++ .NET 2008

900+

Программа 

Игра "Крестики-нолики" для двух игроков

Borland C++ 3.1 (под DOS)

900  

КП 

Игра "Кроссворд"

Visual C++ .NET 2010

1500+

КП 

Игра "Лабиринт"

Borland C++ 3.1 (под DOS)

600+

Программа 

Игра "Линии" (ООП)

Borland C++ 3.1 (под DOS)

500+

КП 

Игра "Мельница" (человек против компьютера)

C++ Builder 6.0

980  

Программа 

Игра "Минер"

C++ Builder 6.0

700  

Программа 

Игра "Морской бой"

C++ Builder 2010 (Rad Studio)

500  

КП 

Игра "Морской бой" (Sea Battle)

Visual C++ .NET 2010

600  

Программа 

Игра "Морской бой" для двух игроков

Visual C++ 6.0

1400  

КП 

Игра "Морской бой" на SFML(OpenGL)

Visual C++ .NET 2017

1800+

КП 

Игра "Найди мяч"

Visual C++ .NET 2008

800+

Программа 

Игра "Настольный теннис" для двух игроков

Borland C++ 3.1 (под DOS)

900  

КП 

Игра "Ним" (графический интерфейс)

Visual C++ .NET 2019

670  

Программа 

Игра "Обратный тетрис"

Code::Blocks (C++)

800  

Программа 

Игра "Отсечение"

Borland C++ 3.1 (под DOS)

500+

Программа 

Игра "Очко"

C++ Builder 6.0

240  

КП 

Игра "Пасьянс "Косынка" (карты)

Visual C++ .NET 2008

920+

Программа 

Игра "Питон" (змейка)

C++ Builder 6.0

800  

Программа 

Игра "Погоня за сокровищем"

C++ Builder 6.0

800  

Программа 

Игра "Подкидной дурак"

C++ Builder 6.0

300  

КП 

Игра "Подкидной дурак"

Visual C++ .NET 2019

1200  

КП 

Игра "Подкидной дурак" (версия 2) на WinApi

C++ Builder 6.0

600+

КП 

Игра "Поиск слов"

C++ QT 5

1000+

Программа 

Игра "Ползунок" (Slider)

Visual C++ .NET 2012

800  

КП 

Игра "Пятикарточный покер"

C++ Builder 5.0

300+

КП 

Игра "Пятнашки" вдвоём

Borland C++ 3.1 (под DOS)

670  

Программа 

Игра "Ракета и астероиды"

Code::Blocks (C++)

800  

КП 

Игра "Ралли"

Borland C++ 3.1 (под DOS)

900+

Программа 

Игра "Сапер"

Borland C++ 3.1 (под DOS)

300  

Программа 

Игра "Сапер" (ООП)

Borland C++ 3.1 (под DOS)

500+

Программа 

Игра "Сапер" с круглым полем

Visual C++ 6.0

500+

КП 

Игра "Сапёр" классический (Минёр, Miner)

Visual C++ .NET 2010

670+

Программа 

Игра "Сбей самолет"

Visual C++ .NET 2012

600  

КП 

Игра "Сетевые крестики-нолики"

C++ Builder 6.0

800+

Программа 

Игра "Сокобан" (Sokoban)

Visual C++ .NET 2017

1240  

Программа 

Игра "Стрелялка"

Borland C++ 3.1 (под DOS)

400  

КП 

Игра "ТАК-ТИКЛЬ" (человек-компьютер)

Visual C++ .NET 2019

890  

Программа 

Игра "Тамаготчи"

C++ Builder 5.0

600  

Программа 

Игра "Танчики" в текстовом режиме (псевдографика)

Visual C++ .NET 2013

1000  

Программа 

Игра "Тетрис"

Visual C++ 6.0

400  

Программа 

Игра "Тетрис"

C++ Builder 5.0

500+

Программа 

Игра "Тетрис"

C++ QT 5

600  

КП 

Игра "Тетрис" (консольное приложение, псевдографика)

Visual C++ .NET 2010

800+

КП 

Игра "Тетрис" с использованием классов

Visual C++ 6.0

600+

Программа 

Игра "Тетрис" с таблицей рекордов и сохранением игры

Visual C++ 6.0

600  

Программа 

Игра "Тетрис" сетевая

Visual C++ .NET 2008

1000+

КП 

Игра "Тренажер теннисиста"

Visual C++ .NET 2010

890+

КП 

Игра "Трёхмерный куб в комнате" с применением технологии OpenGL

C++ Builder 6.0

600+

КП 

Игра "Угадай слово"новая

C++ QT 5

500  

Программа 

Игра "Удав, кролики и мангусты"

Borland C++ 3.1 (под DOS)

800  

Программа 

Игра "Шашки с компьютером"

C++ Builder 6.0

360  

Программа 

Игра "Шашки"

Visual C++ .NET 2012

600  

Программа 

Игра "Шашки" 2 человека

Borland C++ 3.1 (под DOS)

500+

КП 

Игра "Шашки" для двух игроков

Visual C++ .NET 2010

890+

Программа 

Игра "Шашки" человек - компьютер

C++ Builder 5.0

900  

Программа 

Игра "Шашки" человек-компьютер

Borland C++ 3.1 (под DOS)

600+

КП 

Игра 2048

Visual C++ .NET 2017

760+

КП 

Игра Бильярд Billiards 2D game

Visual C++ .NET 2017

840  

КП 

Игра Домино

Borland C++ 3.1 (под DOS)

200+

Программа 

Игра Домино консоль

Visual C++ .NET 2017

1700  

КП 

Игра Линии (Lines)

Borland C++ 3.1 (под DOS)

450+

КП 

Игра Морской бой sea battle

C++ QT 5

960+

Программа 

Игра НИМ (консольный интерфейс)

Visual C++ .NET 2017

860  

Программа 

Игра Судоку Sudoku game

Visual C++ .NET 2017

360  

Программа 

Игра Тетрис Qt

C++ QT 5

820  

Программа 

Игра шашки (человек-компьютер, человек-человек , компьютер-компьютер)

C++ Builder 6.0

400  

Программа 

Игра «100 спичек»

DEV C++

480  

КП 

Игра «Быки и коровы»новая

C++ QT 5

500  

Программа 

Игра «Виселица»

C++ QT 5

600  

Программа 

Игра «Восемь ферзей» на стандартной шахматной доскеновая

C++ Builder 6.0

800  

Программа 

Игра «Движущиеся фигуры»

C++ QT 5

600  

Программа 

Игра «Домино» (Windows API, ООП)

Visual C++ .NET 2012

600  

Программа 

Игра «Змейка» (Питон) в лабиринте

Visual C++ .NET 2012

700  

КП 

Игра «Крестики-нолики 3х3» для консоли Windowsновая

Visual C++ .NET 2019

400  

КП 

Игра «Крестики-нолики» (ООП объектно-ориентированное программирование)новая

C++ Builder 6.0

1110+

КП 

Игра «Морской бой»

Visual C++ .NET 2010

890  

Программа 

Игра «Непрерывная линия»

C++ QT 5

700  

Программа 

Игра «Поиск сокровищ»

Code::Blocks (C++)

1000  

Программа 

Игра «Пятнашки»

C++ QT 5

500  

Практическая 

Игра «Пятнашки» (4 на 4 ячейки)

C++ Builder 6.0

890+

Программа 

Игра «Реверси» против компьютера и для двух игроковновая

C++ QT 5

1000  

КП 

Игра «Сбей самолет» (зенитка)новая

Visual C++ .NET 2019

800+

КП 

Игра «Сокобан» (Кладовщик)новая

Code::Blocks (C++)

1000+

КП 

Игра «Трехмерные крестики-нолики». Крестики-нолики 3Dновая

C++ Builder 6.0

1110  

Программа 

Карточная игра "Пирамида"новая

C++ QT 5

800  

КП 

Морской Бой

Visual C++ .NET 2017

760+

КП 

Обучающая программа "Клавиатурный тренажер"

C++ Builder 6.0

540+

КП 

Программное прохождение игры "Сапёр" (компьютер открывает поле)

Visual C++ .NET 2005

800+

ЛР 

Расстановка ферзей на шахматной доске

Visual C++ 6.0

600  

КП 

Сигнальные игры

Visual C++ .NET 2010

1110+

ЛР 

Тетрис

Visual C++ .NET 2008

890  

Программа 

Тир

C++ Builder 6.0

300  

Программа 

Трехмерная версия игры «Змейка» (Питон) Snake 3D

C++ Builder 6.0

700  

КР 

Ход конём, поиск кратчайшего пути

Visual C++ .NET 2017

670  

КП 

Шахматы (2 игрока)

Borland C++ 3.1 (под DOS)

1000+

КП 

Шахматы для двух игроков

Visual C++ .NET 2010

670+

КП 

Шахматы на двух игроков в режиме клиент-сервер

C++ QT 5

1000  

Программа 

Шашечные этюды

C++ Builder 5.0

700  

Комплект заданий для промежуточного контроля.

№Вопрос  1

Q: Разделение программы на функции:

1: является ключевым методом объектно-ориентированного программирования;

2: упрощает представление программы;

3: сокращает размер программного кода;

4: ускоряет процесс выполнения программы.

№Вопрос  2

Q: После имени функции ставятся …….

№Вопрос3

Q: Первая функция, вызываемая при запуске программы, это функция …

№Вопрос 4

Q: Конструкция C++, указывающая компьютеру выполнить действие, называется ……

№Вопрос 5

Q: Выражение:

1: всегда приводит к вычислению значения;

2: является способом высказывания программы;

3: всегда происходит вне функции;

4: является частью оператора.

№Вопрос 6

Q: Укажите размер в байтах переменных следующих типов в 32-битной системе: тип int …4..; тип longdouble …10.; тип float 4….; тип long ….4

№ВОПРОС 7

Q: Истинно ли следующее утверждение: переменная типа char может хранить значение 301?

1: да;

2: нет.

№Вопрос  8

Q: Истинно ли следующее утверждение: в операции присваивания величина, стоящая слева от знака равенства, всегда равна величине, стоящей справа от знака равенства?

1: истинно;

2: ложно.

№Вопрос  9

Q: Какой заголовочный файл нужно включить в исходный текст, чтобы использовать объекты cin и cout?

1: iomanip;

2: iostream;

3: fstream;

4: process;

5: ostream.

№Вопрос  10

Q: Напишите оператор, который получает с клавиатуры числовое значение и присваивает его переменной temp :

№Вопрос  11

Q:Какой заголовочный файл нужно включить в исходный текст, чтобы использовать манипулятор setw?

1: iomanip;

2: iostream;

3: fstream;

4: process;

5: ostream.

№Вопрос  12

Q: Верно или неверно следующее утверждение: нет никаких препятствий к использованию переменных разного типа в одном арифметическом выражении?

1: неверно

2: верно

№Вопрос  13

Q: Значение выражения 11 % 3 равно :2

№Вопрос  14

Q: Напишите оператор, увеличивающий значение переменной temp на 23 с одновременным присваиванием:

№Вопрос  15

Q: На какую величину увеличивает значение переменной операция инкремента? V: 1 V:

№Вопрос  16

Q: Какие значения выведут на экран два указанных оператора cout<< var1--; cout<< ++var1;, если начальное значение переменной var1 равно 20? V:20 20 V:

№Вопрос  17

Q: Коды библиотечных функций содержатся в V: библиотечных V: файлах.

№Вопрос 18

Q: Каждая программа на языке С++ содержит функцию

1. head()

2.primary()

3. main()

4.prime()

5.major()

№Вопрос  19

Q:Оператор инкремента (++)

1. увеличивает значение переменной на единицу

2.увеличивает значение переменной на два

3.уменьшает значение переменной на единицу

4.уменьшает значение переменной на два

5не существует в языке С++

№Вопрос  20

Q: Нелогическим является оператор

1. &&

2. =

3. ||

4. !

№Вопрос  21

Q: Результат выполнения программы

#include<iostream>

int main()

{ int  a = 5*3;  float b=1.5f; b + = --a/2; cout<<b; return 1;    }

1.8.50

2. 9.00

3.8.00

4.9.50

5.7.50

№Вопрос  22

Q:        "<<"

1. оператор вывода в языке С++

2.встроенная функция

3.функция из стандартной библиотеки

4.макрОПОПределение

5.нет правильного ответа

№Вопрос  23

Q: Лексема

1.заключительный оператор в программе

2. единица текста программы, которая при компиляции воспринимается как единое целое

3.первый оператор в программе

4.заголовок программы

5.фамилия создателя языка С++

№Вопрос  24

Q: Тип результата при сложении переменных типа short

1. short

2.int

3. unsigned

4.long

5.float

№Вопрос  25

Q: Фрагменткодаint a=3, b=4, c; c=a+++--b; cout<<"a="<<a<<", b="<<b<<", c="<<c; напечатает:

1.a=3, c=3, b=6

2.выражение некорректно

3.a=4, b=4, c=8

4. a=4, b=3, c=6

5.a=4, b=4, c=7

№Вопрос  26

Фрагменткодаint a=3,b=4, c=3; c=b+++--c; cout<<"a="<<a<<", b="<<b<<", c="<<c; напечатает:

1.a=3, c=4, b=6

2.выражение некорректно

3. a=3, b=5, c=6

4.a=4, b=3, c=2

5.a=4, b=4, c=2

№Вопрос  27

Фрагменткодаint a=3,b=4, c=3; c=b+++--c+a++; cout<<"a="<<a<<", b="<<b<<", c="<<c; напечатает:

1.a=3, c=2, b=4

2.выражение некорректно

3. a=4, b=5, c=9

4.a=3, b=3, c=2

5.a=4, b=6, c=2

Вопрос  28

Q: Фрагментпрограммыinti = 4; int x = 6; double z; z = x / i; cout<<"z="<< z; напечатает:

1.z=0.00

2.z=1.00

3.z=1.50

4.z=2.00

5. z=NULL

Вопрос  29

Q: Фрагментпрограммыinti = 4; int x = 6; double z = 2; z+= x++/i++; cout<<"z=" z; напечатает:

1.z=3.40

2. z=3.00

3.z=1.40

4.выражение некорректно

5.z=NULL

№Вопрос  30

Q: Выполнение программы на языке С++ начинается с

1.1-ой строки;

2.1-ой функции;

3. функции main;

4.нет правильного ответа

№Вопрос  31

Q: Файл с расширением obj содержит ….

1. исходный текст программы;

2.библиотечные функции;

3.исполняемую программу;

4. объектный код программы.

№Вопрос  32

Q: При правильном выполнении программы в операционную систему передается

1. нулевой результат;

2.ненулевой результат;

3.отрицательный результат;

4.нет правильного ответа

№Вопрос  33

Q: Не ключевое слово языка С++

1.вrеак;

2.сlass;

3. go;

4.static;

5.this.

№Вопрос  34

Q: Операция  = = относится к

1.операциям сдвига;

2. операциям сравнения;

3.операциям присваивания;

4.логическим операциям ;

5.нет правильного ответа

№Вопрос  35

Q:  Отдельно стоящий символ "точка с запятой" считается

1.ошибкой;

2.разделителем;

3. пустым оператором;

4.концом программы;

5.концом строки.

Кейс-задача

Задание(я):

№1 .Кейс

№вопрос1

Дана программа. Что произойдёт в результате компиляции и выполнения данного кода?

#include <iostream>

using namespace std;

constint&fun()

{

staticint a = 0;

return a;

}

int main()

{

++fun();

cout<< fun() <<endl;

return 0;

}

№вопрос1

Данапрограмма. Произойдет ли ошибка компиляции, и если да, то почему?

#include <iostream>

using namespace std;

constint&fun()

{

staticint a = 0;

return a;

}

int main()

{

++fun();

cout<< fun() <<endl;

return 0;

}

№вопрос1

Данапрограмма. Каково действие операции инкремента?

#include<iostream>

using namespace std;

constint&fun()

{

staticint a = 0;

return a;

}

int main()

{

++fun();

cout<< fun() <<endl;

return 0;

}

№ 2 Кейс

№вопрос1

Дана программа. Что произойдёт в результате компиляции и выполнения следующего кода?

#include <iostream>

using namespace std;

int main(intargc, char *argv[])

{ cout<< 1 / 2 ? 0 : 1 <<endl;

return 0;

}

№вопрос1

Дана программа. У какого оператора меньший приоритет?

#include <iostream>

using namespace std;

int main(intargc, char *argv[])

{ cout<< 1 / 2 ? 0 : 1 <<endl;

return 0;

}

№вопрос1

Дана программа.

Данный код эквивалентен следующему (cout<< 1 / 2) ?(0) : (1 <<endl) илинет?

#include <iostream>

using namespace std;

int main(intargc, char *argv[])

{

cout<< 1 / 2 ? 0 : 1 <<endl;

return 0;

}

№3 Кейс

вопрос1

Данапрограмма. Что будет выведено в результате компиляции и выполнения данного кода?

#include <iostream>

#include <stdio.h>

using namespace std;

int main(intargc, char *argv[])

{

cout<<printf("boom!");

return 0;

}

№вопрос1

Дана программа. Что будет выведено в результате компиляции и выполнения данного кода?

#include <iostream>

#include <stdio.h>

using namespace std;

int main(intargc, char *argv[])

{

cout<<printf("boom!");

return 0;

}

"boom!5

boom!

boom!true

boom!false

№вопрос2

Дана программа. Какое из утверждений верно?

#include <iostream>

#include <stdio.h>

using namespace std;

int main(intargc, char *argv[])

{

cout<<printf("boom!");

return 0;

}

printf() возвращает int, равное количеству символов, выведенных в stdout.

cout по умолчанию синхронизирован с stdout

cout по умолчанию не синхронизирован с stdout

printf() возвращает int, не равное количеству символов, выведенных в stdout

№ 4 Кейс

№вопрос1

Задан алгоритм вычисления N факториала. На рисунке представлена блок-схема. При заданных исходных данных (N=3) определите результат выполнения алгоритма вычисления факториала

№вопрос1

Задан алгоритм вычисления N факториала. На рисунке представлена блок-схема. Алгоритмическая структура какого типа изображена на блок-схеме?

№вопрос1

Задан алгоритм вычисления N факториала. На рисунке представлена блок-схема.

Какой вид цикла представлен на блок-схеме?

Вопросы для коллоквиумов, собеседования, устного опроса

Раздел  I. Основы языков C / C ++

1.        Основы языков C / C ++: синтаксис языка, директивы препроцессора, консольное приложение.

2.        Обзор C ++: объектно-ориентированное программирование - инкапсуляция, полиморфизм, наследование.

3.        Классификация ти­пов данных в С++. Арифметические ти­пы данных

4.        Классификация ти­пов данных в С++. Арифметические ти­пы данных. Преобра­зова­ние ти­пов в выражениях.

5.        Переменные, константы, опе­ра­то­ры и выражения.

6.        Переменные, константы, опе­ра­то­ры и выражения. Прио­ритеты операций и операторов в C ++.

7.        Потоки и файлы; ввод, вывод, управляющие последовательности. Библиотечные функции

Раздел  II.Составной тип

8.    Составной тип – строки. Методы ввода строк.

9.    Составные типы – структуры, объединения, перечисления и определяемые пользователем типы

10.    Указатели и строки

11.    Массивы. Одно­мер­ные и многомерные мас­сивы

12.    Функции пользователя в С++. Передача парамет­ров в функции по значению и по ссылке

Вопросы к экзамену

1.      Основы языков C / C ++: синтаксис языка, директивы препроцессора, консольное приложение.

2.      Классификация ти­пов данных в С++. Арифметические ти­пы данных

3.      Классификация ти­пов данных в С++. Арифметические ти­пы данных. Преобра­зова­ние ти­пов в выражениях.

4.      Переменные, константы, опе­ра­то­ры и выражения.

5.      Переменные, константы, опе­ра­то­ры и выражения. Прио­ритеты операций и операторов в C ++.

6.      Потоки и файлы; ввод, вывод, управляющие последовательности. Библиотечные функции

7.      Функции: прототип, определение, реализация. Функция main ().

8.      Функции: прототип, определение, реализация. Структура С++ -программы.

9.      Логические операции. Опе­раторы управления С++-программой

10.  Составной тип – строки. Методы ввода строк.

11.  Составные типы – структуры, объединения, перечисления и определяемые пользователем типы

12.  Виды циклов в С++. Цикл с параметром.

13.  Виды циклов в С++. Цикл с предусловием

14.  Виды циклов в С++.  Цикл с постусловием

15.  Указатели и свободная память. Работа с памятью с помощью new и delete

16.  Указатели и строки

17.  Массивы. Одно­мер­ные массивы

18.  Массивы. Одно­мер­ные и многомерные мас­сивы

19.  Функции пользователя в С++. Передача парамет­ров в функции по значению и по ссылке

20.  Условные конструкции в С++. Вложенные конструкции. Оператор выбора в С++

21.  Указатели в С++

22.  Ссылки в С++

23.  Стеки.

 

7.2. Методические материалы, определяющие процедуру оценивания знаний, умений, навыков и (или) опыта деятельности, характеризующих этапы формирования компетенций.

а) Критерии оценивания компетенций (результатов).

Программой дисциплины в целях проверки прочности усвоения материала предусматривается проведение различных форм контроля:

1. «Входной» контроль определяет степень сформированности знаний, умений и навыков обучающегося, необходимым для освоения дисциплины и приобретенным в результате освоения предшествующих дисциплин.

2. Тематический контроль определяет степень усвоения обучающимися каждого раздела (темы в целом), их способности связать учебный материал с уже усвоенными знаниями, проследить развитие, усложнение явлений, понятий, основных идей.

3. Межсессионная аттестация– рейтинговый контроль знаний студентов, проводимый в середине семестра.

4. Рубежной формой контроля является тестирование. Изучение дисциплины завершается контрольной работой, проводимой в виде письменного опроса с учетом текущего рейтинга.

Неявка студента на промежуточный контроль в установленный срок без уважительной причины оценивается нулевым баллом. Повторная сдача в течение семестра не разрешается.

Дополнительные дни отчетности для студентов, пропустивших контрольную работу по уважительной причине, подтвержденной документально,  устанавливаются преподавателем дополнительно.

Лабораторные  занятия, пропущенные без уважительной причины, должны быть отработаны до следующей контрольной точки, если сдаются позже, то оцениваются в 1 балл.

Итоговой формой контроля знаний, умений и навыков по дисциплине является  Экзамен. Экзамен проводится в форме тестирования. При соответствии ответа учащегося на экзамене более чем 51 % критериев из этого списка выставляется оценка «удовлетворительно»,  66% – 85%  оценка «хорошо», 86% и выше оценка «отлично».

 

 

8. Учебно-методическое обеспечение дисциплины.

 

а) адрес сайта курса

1.      Ахмедова З.Х. Программирование на языке С++ Moodl [Электронный ресурс]: система виртуального обучения:[база данных] / Даг.гос.универ. – Махачкала, - Доступ из сети ДГУ или, после регистрации из сети ун-та, из любой точки, имеющей доступ в интернет. – URL: http: //moodl.dgu.ru. (дата обращения 22.05.22).

 

б) основная литература:

1.        Павловская, Т.А. C/C++. Программирование на языке высокого уровня [Текст]: для магистров и бакалавров. - СПб. [и др.] : Питер, 2012. - 460 с. - (Учебник для вузов).

2.        Ахмедова З.Х. Введение в программирование на языке С++.[Текст]:для студентов ИиИТ.-Махачкала, ИПЦ. 2011.-23с.(Учебное пособие).

3.        Программирование на языке высокого уровня С/С++ [Электронный ресурс]: конспект лекций/ — Электрон.текстовые данные.— М.: Московский государственный строительный университет, Ай Пи Эр Медиа, ЭБС АСВ, 2016.— 140 c.— Режим доступа: http://www.iprbookshop.ru/48037.html.— ЭБС «IPRbooks»[Дата обращения 20 июня 2018]

в) дополнительная литература

1. Программирование на языке высокого уровня [Электронный ресурс]: методические указания и варианты заданий для студентов 1-го курса направления подготовки 09.03.01 Информатика и вычислительная техника/ — Электрон.текстовые данные.— М.: Московский государственный строительный университет, Ай Пи Эр Медиа, ЭБС АСВ, 2016.— 89 c.— Режим доступа: http://www.iprbookshop.ru/46060.html.— ЭБС «IPRbooks» »[Дата обращения 20 июня 2019]

2. Ахмедова З.Х. Программирование на языке  С++  [Текст]:  ИПЦ Махачкала, 2010.- 34 с.

3. Кормен, Т.и др. Алгоритмы. Построение и анализ.алгоритмов. [Текст]: Учебник / ТКормен. - МЦНМО, Москва ,2021.- 364 с.

 

9.      Перечень ресурсов информационно-телекоммуникационной сети «Интернет», необходимых для освоения дисциплины.

 

1.eLIBRARY.Ru[ Электронный ресурс]:  электронная библиотека / Науч. электр.  б-ка.- МОСКВА.. – Режим доступа свободный: http//elibrary.ru. – Яз. рус., англ.

2.      Электронный каталог НБ ДГУ Ru [ Электронный ресурс]:  база данных содержит сведения о всех видах лит., поступающих в фонд НБ ДГУ / Дагестанский  гос.унив. – Махачкала. –  Режим доступа: http//elib.dgu.ru. свободный Национальный Открытый Университете «ИНТУИТ» [ Электронный ресурс]:электронно-библиотечная система, издательство «Лань» -  www.intuit.ru

 

10.  Методические указания  для обучающихся по освоению дисциплины.

К современному специалисту общество предъявляет достаточно широкий перечень требований, среди которых немаловажное значение имеет наличие у выпускников определенных способностей и умения самостоятельно добывать знания из различных источников, систематизировать полученную информацию, давать оценку конкретной финансовой ситуации. Формирование такого умения происходит в течение всего периода обучения через участие студентов в практических занятиях, выполнение контрольных заданий и тестов, написание курсовых и выпускных квалификационных работ. При этом самостоятельная работа студентов играет решающую роль в ходе всего учебного процесса.

11.Перечень информационных технологий, используемых при осуществлении образовательного процесса по дисциплине, включая перечень программного обеспечения и информационных справочных систем.

1. Компьютерные классы с набором лицензионного базового программного обеспечения для проведения лабораторных занятий;

2. MicrosoftVisualStudio (или CodeBloc) для выполнения лабораторных заданий

3. Лекционная мультимедийная аудитория для чтения лекций с использованием мультимедийных материалов.

4. Visual J++, Visual C++ Microsoft Imagine Premium.

12. Описание материально-технической базы, необходимой для осуществления образовательного процесса по дисциплине.

При освоении дисциплины для выполнения лабораторных работ необходимы классы персональных компьютеров с приложениями программирования на языках С/С++. Для проведения лекционных занятий, необходима мультимедийная аудитория с набором лицензионного базового программного обеспечения.

Лекционные занятия

· Мультимедийное оборудование:

ноутбук SONYVGN- FZ31MR

Проектор BenQMP670.

Лабораторные занятия

·26 ком­пьютеров IntelCOREL5 c выходом в сеть Интер­нет.